<?
    final class Principio_Model_Pool extends Principio_Model_Company
    {
        private $collection_company;

        public function __construct(array $values = null)
        {
            parent::__construct($values);

            $this->type = self::TYPE_POOL;
            $this->collection_company = null;
        }


        public function isPool() { return true; }
        public function isCompanyInPool() { return false; }
        public function isCompany() { return false; }


        public function getCompanies()
        {
            if (is_null($this->collection_company))
                $this->collection_company = Principio_Model_PoolMapper::getCompanies($this);

            return $this->collection_company;
        }


        public function delete($use_transaction = true) { return Principio_Model_PoolMapper::delete($this); }
    }
?>